[INFO] fetching crate nitrokey 0.9.0...
[INFO] fixing nitrokey-0.9.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate nitrokey 0.9.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate nitrokey 0.9.0
[INFO] finished tweaking crates.io crate nitrokey 0.9.0
[INFO] tweaked toml for crates.io crate nitrokey 0.9.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nitrokey 0.9.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate nitrokey 0.9.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433
[INFO] running `Command { std: "docker" "start" "b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling proc-macro2 v1.0.23
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]    Compiling cc v1.0.60
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]    Compiling syn v1.0.42
[INFO] [stderr]     Checking nitrokey-test-state v0.1.0
[INFO] [stderr]    Compiling nitrokey-sys v3.6.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling nitrokey-test v0.3.2
[INFO] [stderr]     Checking nitrokey v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/otp.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/pws.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/list-devices.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/device.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating examples/otp.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.31s
[INFO] [stderr] crater-edition-check: nitrokey v0.9.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking nitrokey v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> tests/pws.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     drop(slot);
[INFO] [stdout]     |     ^^^^^----^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          argument has type `PasswordSlot<'_, '_, '_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 121 -     drop(slot);
[INFO] [stdout] 121 +     let _ = slot;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> tests/pws.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     drop(slot);
[INFO] [stdout]     |     ^^^^^----^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          argument has type `PasswordSlot<'_, '_, '_>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 130 -     drop(slot);
[INFO] [stdout] 130 +     let _ = slot;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> tests/pws.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     drop(slot);
[INFO] [stdout]     |     ^^^^^----^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          argument has type `PasswordSlot<'_, '_, '_>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 141 -     drop(slot);
[INFO] [stdout] 141 +     let _ = slot;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.50s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking nitrokey v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/util/mod.rs (12 fixes)
[INFO] [stderr]    Migrating tests/otp.rs from 2021 edition to 2024
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/otp.rs from 2021 edition to 2024
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/list-devices.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/pws.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/device.rs from 2021 edition to 2024
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect());
[INFO] [stdout]    |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect());
[INFO] [stdout]    |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     assert_cmu_err!(
[INFO] [stdout] 61 | |         CommunicationError::NotConnected,
[INFO] [stdout] 62 | |         manager.connect_model(nitrokey::Model::Pro)
[INFO] [stdout] 63 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     assert_cmu_err!(
[INFO] [stdout] 61 | |         CommunicationError::NotConnected,
[INFO] [stdout] 62 | |         manager.connect_model(nitrokey::Model::Pro)
[INFO] [stdout] 63 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     assert_cmu_err!(
[INFO] [stdout] 65 | |         CommunicationError::NotConnected,
[INFO] [stdout] 66 | |         manager.connect_model(nitrokey::Model::Storage)
[INFO] [stdout] 67 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     assert_cmu_err!(
[INFO] [stdout] 65 | |         CommunicationError::NotConnected,
[INFO] [stdout] 66 | |         manager.connect_model(nitrokey::Model::Storage)
[INFO] [stdout] 67 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_pro());
[INFO] [stdout]    |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_pro());
[INFO] [stdout]    |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_storage());
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_storage());
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]    = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | /     assert_cmu_err!(
[INFO] [stdout] 107 | |         CommunicationError::NotConnected,
[INFO] [stdout] 108 | |         manager.connect_path("foobar")
[INFO] [stdout] 109 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | /     assert_cmu_err!(
[INFO] [stdout] 107 | |         CommunicationError::NotConnected,
[INFO] [stdout] 108 | |         manager.connect_path("foobar")
[INFO] [stdout] 109 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/device.rs:127:43
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let connected_device = unwrap_ok!(manager.connect_path(device.path));
[INFO] [stdout]     |             ----------------              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |             |                             |
[INFO] [stdout]     |             |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |             `connected_device` calls a custom destructor
[INFO] [stdout]     |             `connected_device` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/device/pro.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl<'a> Drop for Pro<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/device/storage.rs:751:1
[INFO] [stdout]     |
[INFO] [stdout] 751 | impl<'a> Drop for Storage<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/device/librem.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl<'a> Drop for Librem<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `connected_device` invokes this custom destructor
[INFO] [stdout]    --> src/device/pro.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl<'a> Drop for Pro<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `connected_device` invokes this custom destructor
[INFO] [stdout]    --> src/device/storage.rs:751:1
[INFO] [stdout]     |
[INFO] [stdout] 751 | impl<'a> Drop for Storage<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `connected_device` invokes this custom destructor
[INFO] [stdout]    --> src/device/librem.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl<'a> Drop for Librem<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:451:5
[INFO] [stdout]     |
[INFO] [stdout] 451 | /     assert_cmd_err!(
[INFO] [stdout] 452 | |         CommandError::WrongPassword,
[INFO] [stdout] 453 | |         device.change_update_pin(UPDATE_NEW_PIN, UPDATE_PIN)
[INFO] [stdout] 454 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:451:5
[INFO] [stdout]     |
[INFO] [stdout] 451 | /     assert_cmd_err!(
[INFO] [stdout] 452 | |         CommandError::WrongPassword,
[INFO] [stdout] 453 | |         device.change_update_pin(UPDATE_NEW_PIN, UPDATE_PIN)
[INFO] [stdout] 454 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 | /     assert_cmd_err!(
[INFO] [stdout] 468 | |         CommandError::WrongPassword,
[INFO] [stdout] 469 | |         device.enable_encrypted_volume("123")
[INFO] [stdout] 470 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 | /     assert_cmd_err!(
[INFO] [stdout] 468 | |         CommandError::WrongPassword,
[INFO] [stdout] 469 | |         device.enable_encrypted_volume("123")
[INFO] [stdout] 470 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 | /     assert_cmd_err!(
[INFO] [stdout] 492 | |         CommandError::WrongPassword,
[INFO] [stdout] 493 | |         device.create_hidden_volume(5, 0, 100, "hiddenpw")
[INFO] [stdout] 494 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.42s
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 | /     assert_cmd_err!(
[INFO] [stdout] 492 | |         CommandError::WrongPassword,
[INFO] [stdout] 493 | |         device.create_hidden_volume(5, 0, 100, "hiddenpw")
[INFO] [stdout] 494 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: nitrokey v0.9.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 501 | /     assert_cmd_err!(
[INFO] [stdout] 502 | |         CommandError::WrongPassword,
[INFO] [stdout] 503 | |         device.enable_hidden_volume("blubb")
[INFO] [stdout] 504 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 501 | /     assert_cmd_err!(
[INFO] [stdout] 502 | |         CommandError::WrongPassword,
[INFO] [stdout] 503 | |         device.enable_hidden_volume("blubb")
[INFO] [stdout] 504 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 | /     assert_cmd_err!(
[INFO] [stdout] 575 | |         CommandError::WrongPassword,
[INFO] [stdout] 576 | |         device.set_unencrypted_volume_mode(DEFAULT_USER_PIN, VolumeMode::ReadOnly)
[INFO] [stdout] 577 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 | /     assert_cmd_err!(
[INFO] [stdout] 575 | |         CommandError::WrongPassword,
[INFO] [stdout] 576 | |         device.set_unencrypted_volume_mode(DEFAULT_USER_PIN, VolumeMode::ReadOnly)
[INFO] [stdout] 577 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     assert_cmd_err!(CommandError::WrongCrc, device.get_status());
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     assert_cmd_err!(CommandError::WrongCrc, device.get_status());
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:686:5
[INFO] [stdout]     |
[INFO] [stdout] 686 | /     assert_cmd_err!(
[INFO] [stdout] 687 | |         CommandError::WrongPassword,
[INFO] [stdout] 688 | |         device.export_firmware("someadminpn")
[INFO] [stdout] 689 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:686:5
[INFO] [stdout]     |
[INFO] [stdout] 686 | /     assert_cmd_err!(
[INFO] [stdout] 687 | |         CommandError::WrongPassword,
[INFO] [stdout] 688 | |         device.export_firmware("someadminpn")
[INFO] [stdout] 689 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: this warning originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking nitrokey v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | /     assert_cmd_err!(
[INFO] [stdout] 46 | |         CommandError::WrongPassword,
[INFO] [stdout] 47 | |         device.get_password_safe(&(DEFAULT_USER_PIN.to_owned() + "123"))
[INFO] [stdout] 48 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | /     assert_cmd_err!(
[INFO] [stdout] 51 | |         CommandError::WrongPassword,
[INFO] [stdout] 52 | |         device.get_password_safe(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 53 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/pws.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     assert_cmd_err!(CommandError::NotAuthorized, result);
[INFO] [stdout]    |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(1));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_lib_err!(LibraryError::InvalidSlot, pws.get_slot(slot_count));
[INFO] [stdout]     |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     assert_lib_err!(
[INFO] [stdout] 146 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 147 | |         pws.get_slot_unchecked(slot_count)
[INFO] [stdout] 148 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 | /     assert_lib_err!(
[INFO] [stdout] 157 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 158 | |         pws.write_slot(pws.get_slot_count(), "name", "login", "password")
[INFO] [stdout] 159 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 | /     assert_lib_err!(
[INFO] [stdout] 188 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 189 | |         pws.erase_slot(pws.get_slot_count())
[INFO] [stdout] 190 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/pws.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     assert_cmd_err!(CommandError::SlotNotProgrammed, pws.get_slot(0));
[INFO] [stdout]     |     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nitrokey` (test "pws") due to 36 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     assert_cmd_err!(CommandError::Timestamp, device.set_time(1546385292, false));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/otp.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_hotp_code(1));
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     assert_lib_err!(LibraryError::InvalidSlot, device.get_hotp_slot_name(4));
[INFO] [stdout]     |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     assert_cmd_err!(CommandError::NoName, admin.write_hotp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | /     assert_lib_err!(
[INFO] [stdout] 116 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 117 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | /     assert_lib_err!(
[INFO] [stdout] 121 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 122 | |         admin.write_hotp_slot(slot_data, 0)
[INFO] [stdout] 123 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     assert_cmd_err!(CommandError::NotAuthorized, user.device().get_totp_code(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_lib_err!(LibraryError::InvalidSlot, result);
[INFO] [stdout]     |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     assert_cmd_err!(CommandError::NoName, admin.write_totp_slot(slot_data, 0));
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 | /     assert_lib_err!(
[INFO] [stdout] 256 | |         LibraryError::InvalidSlot,
[INFO] [stdout] 257 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 258 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nitrokey` (test "otp") due to 70 previous errors
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | /     assert_lib_err!(
[INFO] [stdout] 261 | |         LibraryError::InvalidHexString,
[INFO] [stdout] 262 | |         admin.write_totp_slot(slot_data, 0)
[INFO] [stdout] 263 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:265:5
[INFO] [stdout]     |
[INFO] [stdout] 265 |     assert_lib_err!(LibraryError::InvalidSlot, code);
[INFO] [stdout]     |     ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/otp.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert_cmd_err!(CommandError::SlotNotProgrammed, result);
[INFO] [stdout]     |     -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect());
[INFO] [stdout]    |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect());
[INFO] [stdout]    |     -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     assert_cmu_err!(
[INFO] [stdout] 61 | |         CommunicationError::NotConnected,
[INFO] [stdout] 62 | |         manager.connect_model(nitrokey::Model::Pro)
[INFO] [stdout] 63 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     assert_cmu_err!(
[INFO] [stdout] 61 | |         CommunicationError::NotConnected,
[INFO] [stdout] 62 | |         manager.connect_model(nitrokey::Model::Pro)
[INFO] [stdout] 63 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     assert_cmu_err!(
[INFO] [stdout] 65 | |         CommunicationError::NotConnected,
[INFO] [stdout] 66 | |         manager.connect_model(nitrokey::Model::Storage)
[INFO] [stdout] 67 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Err(ref right_err) => panic!(
[INFO] [stdout]    |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | /     assert_cmu_err!(
[INFO] [stdout] 65 | |         CommunicationError::NotConnected,
[INFO] [stdout] 66 | |         manager.connect_model(nitrokey::Model::Storage)
[INFO] [stdout] 67 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_pro());
[INFO] [stdout]    |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_pro());
[INFO] [stdout]    |     ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:64:22
[INFO] [stdout]    |
[INFO] [stdout] 64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_storage());
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/util/mod.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |             Err(ref right_err) => panic!(
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]   ::: tests/device.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_storage());
[INFO] [stdout]    |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]    |
[INFO] [stdout] 76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]    |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | /     assert_cmu_err!(
[INFO] [stdout] 107 | |         CommunicationError::NotConnected,
[INFO] [stdout] 108 | |         manager.connect_path("foobar")
[INFO] [stdout] 109 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | /     assert_cmu_err!(
[INFO] [stdout] 107 | |         CommunicationError::NotConnected,
[INFO] [stdout] 108 | |         manager.connect_path("foobar")
[INFO] [stdout] 109 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     assert_cmu_err!(CommunicationError::NotConnected, manager.connect_path(""));
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | /     assert_cmu_err!(
[INFO] [stdout] 119 | |         CommunicationError::NotConnected,
[INFO] [stdout] 120 | |         manager.connect_path("foobar")
[INFO] [stdout] 121 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmu_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_lib_err!(LibraryError::InvalidSlot, admin.write_config(config));
[INFO] [stdout]     |     ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_lib_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:246:5
[INFO] [stdout]     |
[INFO] [stdout] 246 |     assert_cmd_err!(CommandError::WrongPassword, result);
[INFO] [stdout]     |     ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 | /     assert_cmd_err!(
[INFO] [stdout] 277 | |         CommandError::WrongPassword,
[INFO] [stdout] 278 | |         device.change_admin_pin(DEFAULT_ADMIN_PIN, DEFAULT_ADMIN_PIN)
[INFO] [stdout] 279 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 | /     assert_cmd_err!(
[INFO] [stdout] 316 | |         CommandError::WrongPassword,
[INFO] [stdout] 317 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 318 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:329:5
[INFO] [stdout]     |
[INFO] [stdout] 329 | /     assert_cmd_err!(
[INFO] [stdout] 330 | |         CommandError::WrongPassword,
[INFO] [stdout] 331 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 332 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:347:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | /     assert_cmd_err!(
[INFO] [stdout] 348 | |         CommandError::WrongPassword,
[INFO] [stdout] 349 | |         device.unlock_user_pin(DEFAULT_USER_PIN, DEFAULT_USER_PIN)
[INFO] [stdout] 350 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:391:5
[INFO] [stdout]     |
[INFO] [stdout] 391 | /     assert_cmd_err!(
[INFO] [stdout] 392 | |         CommandError::WrongPassword,
[INFO] [stdout] 393 | |         device.factory_reset(USER_NEW_PASSWORD)
[INFO] [stdout] 394 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:395:5
[INFO] [stdout]     |
[INFO] [stdout] 395 | /     assert_cmd_err!(
[INFO] [stdout] 396 | |         CommandError::WrongPassword,
[INFO] [stdout] 397 | |         device.factory_reset(DEFAULT_ADMIN_PIN)
[INFO] [stdout] 398 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:407:5
[INFO] [stdout]     |
[INFO] [stdout] 407 |     assert_cmd_err!(CommandError::SlotNotProgrammed, user.get_totp_slot_name(1));
[INFO] [stdout]     |     ---------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:429:5
[INFO] [stdout]     |
[INFO] [stdout] 429 | /     assert_cmd_err!(
[INFO] [stdout] 430 | |         CommandError::WrongPassword,
[INFO] [stdout] 431 | |         device.build_aes_key(DEFAULT_USER_PIN)
[INFO] [stdout] 432 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:451:5
[INFO] [stdout]     |
[INFO] [stdout] 451 | /     assert_cmd_err!(
[INFO] [stdout] 452 | |         CommandError::WrongPassword,
[INFO] [stdout] 453 | |         device.change_update_pin(UPDATE_NEW_PIN, UPDATE_PIN)
[INFO] [stdout] 454 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:451:5
[INFO] [stdout]     |
[INFO] [stdout] 451 | /     assert_cmd_err!(
[INFO] [stdout] 452 | |         CommandError::WrongPassword,
[INFO] [stdout] 453 | |         device.change_update_pin(UPDATE_NEW_PIN, UPDATE_PIN)
[INFO] [stdout] 454 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 | /     assert_cmd_err!(
[INFO] [stdout] 468 | |         CommandError::WrongPassword,
[INFO] [stdout] 469 | |         device.enable_encrypted_volume("123")
[INFO] [stdout] 470 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 | /     assert_cmd_err!(
[INFO] [stdout] 468 | |         CommandError::WrongPassword,
[INFO] [stdout] 469 | |         device.enable_encrypted_volume("123")
[INFO] [stdout] 470 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 | /     assert_cmd_err!(
[INFO] [stdout] 492 | |         CommandError::WrongPassword,
[INFO] [stdout] 493 | |         device.create_hidden_volume(5, 0, 100, "hiddenpw")
[INFO] [stdout] 494 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 | /     assert_cmd_err!(
[INFO] [stdout] 492 | |         CommandError::WrongPassword,
[INFO] [stdout] 493 | |         device.create_hidden_volume(5, 0, 100, "hiddenpw")
[INFO] [stdout] 494 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 501 | /     assert_cmd_err!(
[INFO] [stdout] 502 | |         CommandError::WrongPassword,
[INFO] [stdout] 503 | |         device.enable_hidden_volume("blubb")
[INFO] [stdout] 504 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 501 | /     assert_cmd_err!(
[INFO] [stdout] 502 | |         CommandError::WrongPassword,
[INFO] [stdout] 503 | |         device.enable_hidden_volume("blubb")
[INFO] [stdout] 504 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 | /     assert_cmd_err!(
[INFO] [stdout] 575 | |         CommandError::WrongPassword,
[INFO] [stdout] 576 | |         device.set_unencrypted_volume_mode(DEFAULT_USER_PIN, VolumeMode::ReadOnly)
[INFO] [stdout] 577 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:574:5
[INFO] [stdout]     |
[INFO] [stdout] 574 | /     assert_cmd_err!(
[INFO] [stdout] 575 | |         CommandError::WrongPassword,
[INFO] [stdout] 576 | |         device.set_unencrypted_volume_mode(DEFAULT_USER_PIN, VolumeMode::ReadOnly)
[INFO] [stdout] 577 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |             Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     assert_cmd_err!(CommandError::WrongCrc, device.get_status());
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |             Err(ref right_err) => panic!(
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:659:5
[INFO] [stdout]     |
[INFO] [stdout] 659 |     assert_cmd_err!(CommandError::WrongCrc, device.get_status());
[INFO] [stdout]     |     ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:64:22
[INFO] [stdout]     |
[INFO] [stdout]  64 |               Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:686:5
[INFO] [stdout]     |
[INFO] [stdout] 686 | /     assert_cmd_err!(
[INFO] [stdout] 687 | |         CommandError::WrongPassword,
[INFO] [stdout] 688 | |         device.export_firmware("someadminpn")
[INFO] [stdout] 689 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  64 |             &Err($err(ref right_err)) => match &$left {
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> tests/util/mod.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout]  76 |               Err(ref right_err) => panic!(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ occurs within macro expansion
[INFO] [stdout]     |
[INFO] [stdout]    ::: tests/device.rs:686:5
[INFO] [stdout]     |
[INFO] [stdout] 686 | /     assert_cmd_err!(
[INFO] [stdout] 687 | |         CommandError::WrongPassword,
[INFO] [stdout] 688 | |         device.export_firmware("someadminpn")
[INFO] [stdout] 689 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]     = note: this error originates in the macro `assert_err` which comes from the expansion of the macro `assert_cmd_err` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: match on the reference with a reference pattern to avoid implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]  76 |             &Err(ref right_err) => panic!(
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nitrokey` (test "device") due to 76 previous errors
[INFO] running `Command { std: "docker" "inspect" "b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433", kill_on_drop: false }`
[INFO] [stdout] b2fec3ce5ea46318f25ff9189fdc8d87b6624a468eb01622303fa0ad4f367433
